Overloading assignment operator in C